Zabbix Network discovery的檢查可以利用外部服務的可用性(FTP、SSH、WEB、POP3、IMAP、TCP 等)、Zabbix agent(僅支援未加密模式)或SNMP代理程式等方式進行檢查。
利用SNMP的設定方式可以參考,現在將應用Zabbix agent2檢查方式來自動增加主機。
將新增 Network discovery rules 使用Zabbix agent2(被動模式)檢查,當發現啟動的Linux主機,自動增加主機、新增至群組(Linux servers)、並連結到Linux by Zabbix agent模板。
將需求分為為Discovery和Action Discoversy,分別設定rules。
Discovery rules:
每小時運行一次發現,當發現運行Zabbix agent的主機,且system.uname回應值包含"Linux"。
Action Discoversy rules:
將主機新增至 Linux servers 群組。
對主機使用Linux by Zbbbix agent 模板。
OS:Ubuntu Linux LTS 22.04,Hostname:u22-z6,IP:192.168.203.193,安裝 Zabbix Server 6.0 LTS
OS:Oracle Linux 7.9,Hostname:mgm01,IP:192.168.203.184
OS:Oracle Linux 7.9,Hostname:sql01,IP:192.168.203.185
可以參考之前安裝網頁,一台一台安裝。
如果主機數量多且OS都相同,可以參考以下方法。
將一台主機安裝Zabbix repository,將Zabbix agent2套件直接下載,再進行安裝。
Redhat/Oracle linux Zabbix agent2套件直接下載至/tmp
# yum install --downloadonly --downloaddir=/tmp zabbix-agent2 zabbix-agent2-plugin-*
傳送至其它主機直接安裝。
# yum localinstall zabbix-agent2-*
# vi /etc/zabbix/zabbix-agent2
---
Server=Zabbix Server IP
ServerActive=Zabbix Server IP
Hostname=主機Hostname
---
在Configuration>Discovery,新增Discoversy rules
Name:Local network-203
IP range:掃描的網段
Update interval:1h
checks 新增使用:zabbix agent
Port range:10050
key:system.uname
Device uniqueness criteria : IP address
Host name : Host name
Visible name : Host name
在Configuration>Action>Discoversy actions,新增Discoversy actions
Name:Auto discovery. Linux servers.-203
Type of calculation: And/Or
Conditions :A Received value contains Linux
B Discovery status equals Up
C Service type equals SNMPv2 agent
Conditions為運行Zabbix agent的主機,且system.uname回應值包含"Linux"條件。
設定Operations
Add to host groups: Linux servers
Link to templates: Linux by Zabbix agen2
將主機新增至 Linux servers 群組。
對主機使用Linux by Zbbbix agent 模板。
Network discovery 結果
將新增的Local network-203、Auto discovery. Linux servers.-203啟動Enable後,Zabbix Server將依照Local network-203設定的時間及檢查方式執行。
等待時間後可以至Monitoring>Discovery的Status of discovery確認是否找到主機。
發現找到2台主機,名稱呈現對照Local network-203設定。
Discovered device是用IP,是Device uniqueness criteria:IP address
如果要使用DNS,要使用DNS Server。如果沒有DNS Server,也可以直接在Zabbix Server的/etc/hosts 加入主機名稱。
至Configuration>Hosts可以看到自動加入的主機
會發現sql01加入成功,mgm01變成mgm01_2
檢查sql01主機
Hostname和Visible name 是依照Local network-203設定。
依據 Auto discovery. Linux servers.-203的設定,將主機加入Linux servers groups,新增Zabbix agent interfaces,使用 Linux by Zabbix agent templates。因為使用Discovery功能,自動加入Discovered hosts groups。
檢查mgm01_2
Hostname變成mgm01_2是因為之前手動設定過mgm01主機使用,名稱重覆系統自動改名。Visible name 是依照Local network-203設定。
依據 Auto discovery. Linux servers.-203的設定,將主機加入Linux servers groups,新增Zabbix agent interfaces,使用 Linux by Zabbix agent templates。因為使用Discovery功能,自動加入Discovered hosts groups。
如果有大量主機要佈建可以使用Zabbix Network Discovery,應用Zabbix agent服務來進行大量佈建。
內容為學習過程如有問題,請多多指教,謝謝。
文章也同步於個人網站